package com.simple.gateway.center.application;

import com.simple.gateway.center.domian.auth.dto.AuthTokenInfoDTO;
import com.simple.gateway.center.domian.auth.param.AuthTokenParam;
import com.simple.gateway.center.domian.auth.param.BindInterfacesParam;
import com.simple.gateway.center.domian.auth.param.ChangeAuthParam;
import com.simple.gateway.center.domian.auth.param.GatewayUserFullParam;

/**
 * 项目: simple-gateway-core
 *
 * 功能描述: 授权相关的服务
 *
 * @author: WuChengXing
 *
 * @create: 2023-08-29 22:56
 **/
public interface IAuthService {

    /**
     * 注册网关厂商
     *
     * @param gatewayUserFullParam
     * @return
     */
    Boolean registerUser(GatewayUserFullParam gatewayUserFullParam);

    /**
     * 绑定授权接口的信息
     *
     * @param bindInterfacesParam
     * @return
     */
    Boolean bindInterfaces(BindInterfacesParam bindInterfacesParam);

    /**
     * 改变授权信息
     *
     * @param changeAuthParam
     * @return
     */
    Boolean changeAuthInto(ChangeAuthParam changeAuthParam);

    /**
     * 生成token信息
     *
     * @param authTokenParam
     * @return
     */
    AuthTokenInfoDTO generateToken(AuthTokenParam authTokenParam);
}
